# 导包（将接口对象层封装的接口类导入进来）
from api.litemall_login import LiteLogin
# 创建测试类（在测试类里编写测试用例方法）
class TestLogin:
    # 前置处理(将接口对象层导入进来的接口类实例化为一个对象)
    def setup_method(self):
        self.login_api = LiteLogin() #别忘记小括号

    # 后置处理
    def teardown_method(self):
        pass
    # 编写测试用例方法
    # 登录成功
    def test01_success(self):
        login_data = {
            "username":"user123",
            "password": "user123"
        }
        resp = self.login_api.login(test_data=login_data)
        # 断言状态码是否为200
        assert 200 == resp.status_code
        # 断言errno的值是否为0
        assert 0 == resp.json().get("errno")
        # 断言'成'是否在响应文本中
        assert "成" in resp.text

    # 登录失败（用户名为空）
    def test02_no_username(self):
        login_data = {
            "username": "",
            "password": "user123"
        }
        resp = self.login_api.login(test_data=login_data)
        # 断言状态码是否为200
        assert 200 == resp.status_code
        # 断言errno的值是否为700
        assert 700 == resp.json().get("errno")
        # 断言'不存在'是否在响应文本中
        assert "不存在" in resp.text
    # 登录失败（密码错误）
    def test03_wrong_passwd(self):
        login_data = {
            "username": "user123",
            "password": "user1234"
        }
        resp = self.login_api.login(test_data=login_data)
        # 断言状态码是否为200
        assert 200 == resp.status_code
        # 断言errno的值是否为700
        assert 700 == resp.json().get("errno")
        # 断言'不对'是否在响应文本中
        assert "不对" in resp.text